#ifndef _TERRAIN
#define _TERRAIN

#define DIMY 22
#define DIMX 22
#define TAILLECASE 45


typedef struct {
int Dimx;
int Dimy;
int ** Cases;
int Nom;
/*int ** ZoneDepart1;
int ** ZoneDepart2;
int ** ZoneDepart3;
int ** ZoneDepart4;*/
}_terrain;

/* 
	case = -4 zone départ joueur 4
	case = -3 zone départ joueur 3
	case = -2 zone départ joueur 2
	case = -1 zone départ joueur 1
	case = 0 Vide
	case = 1 Decors/ inacessible  
	case = ID contient le perso dont le num est ID
*/

int Get_Dimx (const _terrain* Terrain);
int Get_Dimy(const _terrain* Terrain);
int Get_Case(const _terrain* Terrain,const int x, const int y);
int Get_Nom(const _terrain* terrain);
int** Get_ZoneDepart1(const _terrain* Terrain);
int** Get_ZoneDepart2(const _terrain* Terrain);
int** Get_ZoneDepart3(const _terrain* Terrain);
int** Get_ZoneDepart4(const _terrain* Terrain);


void Set_Dimx (_terrain* Terrain,const int Dimx);
void Set_Dimy(_terrain* Terrain,const int Dimy);
void Set_Case(_terrain* Terrain,const int Case, const int x, const int y);
void Set_Nom(_terrain* Terrain,const int Nom);
void Set_Terrain(_terrain* Terrain, const int Carte);

void Enleve_Zone_Placement ( _terrain* Terrain);
/*
void Set_ZoneDepart1(_terrain* Terrain,const int** ZoneDepart1);
void Set_ZoneDepart2(_terrain* Terrain,const int** ZoneDepart2);
void Set_ZoneDepart3(_terrain* Terrain,const int** ZoneDepart3);
void Set_ZoneDepart4(_terrain* Terrain,const int** ZoneDepart4);*/




_terrain* Init_Terrain(); 
/* Initialise un terrain de taille X,Y et donne les cases interdite */

void Libere_Terrain( _terrain* Terrain);
/*Libere terrain*/



#endif
